<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Ananas Library: Класс wDBField</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Создано системой Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Титульная&nbsp;страница</span></a></li>
      <li class="current"><a href="annotated.html"><span>Классы</span></a></li>
      <li><a href="files.html"><span>Файлы</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Классы</span></a></li>
      <li><a href="hierarchy.html"><span>Иерархия&nbsp;классов</span></a></li>
      <li><a href="functions.html"><span>Члены&nbsp;классов</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Класс wDBField</h1><!-- doxytag: class="wDBField" --><!-- doxytag: inherits="wField" -->Универсальный Плагин -- виджет, предназначен для редактирования атрибутов бизнес объектов Ананаса. Наследует <a class="el" href="classwField.html" title="Плагин -- виджет предназначенный для редактирования...">wField</a>.  
<a href="#_details">Подробнее...</a>
<p>
<code>#include &lt;<a class="el" href="wdbfield_8h-source.html">wdbfield.h</a>&gt;</code>
<p>
<div class="dynheader">
Граф наследования:wDBField:</div>
<div class="dynsection">

<p><center><img src="classwDBField.png" usemap="#wDBField_map" border="0" alt=""></center>
<map name="wDBField_map">
<area href="classwField.html" alt="wField" shape="rect" coords="0,56,66,80">
<area href="classaWidget.html" alt="aWidget" shape="rect" coords="0,0,66,24">
</map>
</div>

<p>
<a href="classwDBField-members.html">Полный список членов класса</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Открытые члены</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#cb53488d0584d0d2828ea5867b89869f">wDBField</a> (QWidget *parent, WFlags fl)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#597ab2f2fd4c54eea908fb77b3173435">wDBField</a> (QWidget *parent, const char *name, WFlags fl)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#f46ec82bc7760af97cc8eebbb156efe0">~wDBField</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QDialog *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#768dbd333dc8492a4914479fd8591577">createEditor</a> (QWidget *parent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#c86b2d352ed225c8669d582d196556b2">initObject</a> (<a class="el" href="classaDatabase.html">aDatabase</a> *adb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7acef0b2195a57b68575ece0a59fab60"></a><!-- doxytag: member="wDBField::openEditor" ref="7acef0b2195a57b68575ece0a59fab60" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>openEditor</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f164ab1134c1520a5bbebcf5eafca63"></a><!-- doxytag: member="wDBField::getOpenEditor" ref="4f164ab1134c1520a5bbebcf5eafca63" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>getOpenEditor</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79de8ae23c61d30a3ac6efa72c68f297"></a><!-- doxytag: member="wDBField::getFieldName" ref="79de8ae23c61d30a3ac6efa72c68f297" args="() const " -->
virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><b>getFieldName</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#5f03780b70211a12db7ea1c1b8c66652">setOpenEditor</a> (bool b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#b968eb3df904c7ac1684601889b78461">setFieldName</a> (QString n)</td></tr>

<tr><td colspan="2"><br><h2>Защищенные члены</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#2ea5542f78aa0749ebecb38cbc38e76b">getFields</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#657eb10586751bf7895fd03dfb122cf1">init</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">QValueList&lt; Q_ULLONG &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#1999168184fc3fa9ccaa2649efc23da9">getBindList</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#f61741101ec75c4aaccce247dad03780">setEditorType</a> (void)</td></tr>

<tr><td colspan="2"><br><h2>Защищенные данные</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd3c7d10004b38f68fbe867753fba572"></a><!-- doxytag: member="wDBField::defDisplayFields" ref="dd3c7d10004b38f68fbe867753fba572" args="" -->
QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><b>defDisplayFields</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90f99a0d112a30908f1bf97a5b880353"></a><!-- doxytag: member="wDBField::defFields" ref="90f99a0d112a30908f1bf97a5b880353" args="" -->
QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><b>defFields</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3494101d03a93ef14a782149dbb036e"></a><!-- doxytag: member="wDBField::defId" ref="c3494101d03a93ef14a782149dbb036e" args="" -->
QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><b>defId</b></td></tr>

<tr><td colspan="2"><br><h2>Свойства</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwDBField.html#77a651556b81d730e0e575e0e58c6559">openEditor</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ecff0c9f07d7ee3e021e1ba3512c346"></a><!-- doxytag: member="wDBField::FieldName" ref="1ecff0c9f07d7ee3e021e1ba3512c346" args="" -->
QString&nbsp;</td><td class="memItemRight" valign="bottom"><b>FieldName</b></td></tr>

<tr><td colspan="2"><br><h2>Друзья</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09063ec660facc1e23a5506d666b1662"></a><!-- doxytag: member="wDBField::addfdialog" ref="09063ec660facc1e23a5506d666b1662" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>addfdialog</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Подробное описание</h2>
Универсальный Плагин -- виджет, предназначен для редактирования атрибутов бизнес объектов Ананаса. Наследует <a class="el" href="classwField.html" title="Плагин -- виджет предназначенный для редактирования...">wField</a>. 
<p>
Основным полезным свойством этого визуального класса является возможность его привязки к атрибуту persistence бизнес объекта Ананаса. Как только привязка задана - логика заполнения объекта значением соответствующего атрибута бизнес объекта, логика сохранения заданного пользователем значения в соответствующем атрибуте бизнес объекта выполняется автоматически runtime подсистемой Ананаса. То есть мы используем прием, который имеет общепринятое название data bindings. <hr><h2>Конструктор(ы)</h2>
<a class="anchor" name="cb53488d0584d0d2828ea5867b89869f"></a><!-- doxytag: member="wDBField::wDBField" ref="cb53488d0584d0d2828ea5867b89869f" args="(QWidget *parent, WFlags fl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wDBField::wDBField           </td>
          <td>(</td>
          <td class="paramtype">QWidget *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">WFlags&nbsp;</td>
          <td class="paramname"> <em>fl</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Создает конструктор без указания имени виджета. 
<p>Перекрестные ссылки <a class="el" href="wdbfield_8cpp-source.html#l00165">init()</a>.</p>

</div>
</div><p>
<a class="anchor" name="597ab2f2fd4c54eea908fb77b3173435"></a><!-- doxytag: member="wDBField::wDBField" ref="597ab2f2fd4c54eea908fb77b3173435" args="(QWidget *parent, const char *name, WFlags fl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wDBField::wDBField           </td>
          <td>(</td>
          <td class="paramtype">QWidget *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">WFlags&nbsp;</td>
          <td class="paramname"> <em>fl</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Конструктор. 
<p>Перекрестные ссылки <a class="el" href="wdbfield_8cpp-source.html#l00165">init()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f46ec82bc7760af97cc8eebbb156efe0"></a><!-- doxytag: member="wDBField::~wDBField" ref="f46ec82bc7760af97cc8eebbb156efe0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wDBField::~wDBField           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Деструктор. 
</div>
</div><p>
<hr><h2>Методы</h2>
<a class="anchor" name="768dbd333dc8492a4914479fd8591577"></a><!-- doxytag: member="wDBField::createEditor" ref="768dbd333dc8492a4914479fd8591577" args="(QWidget *parent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QDialog * wDBField::createEditor           </td>
          <td>(</td>
          <td class="paramtype">QWidget *&nbsp;</td>
          <td class="paramname"> <em>parent</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Создает окно диалога редактора свойств. <dl compact><dt><b>Аргументы:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>- родитель </td></tr>
  </table>
</dl>

<p>Переопределяет метод предка <a class="el" href="classwField.html#8f74a9036de367c36cbfb7b6518a8c77">wField</a>.</p>

</div>
</div><p>
<a class="anchor" name="c86b2d352ed225c8669d582d196556b2"></a><!-- doxytag: member="wDBField::initObject" ref="c86b2d352ed225c8669d582d196556b2" args="(aDatabase *adb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::initObject           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classaDatabase.html">aDatabase</a> *&nbsp;</td>
          <td class="paramname"> <em>adb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Инизиализирует созданный объект. Необходимо выполнить setId(id), где id идентификатор обекта в конфигурации.<p>
<dl compact><dt><b>Аргументы:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>adb</em>&nbsp;</td><td>- объект доступа к базе данных. </td></tr>
  </table>
</dl>

<p>Переопределяет метод предка <a class="el" href="classaWidget.html#f85b709f93fae93c762378522516d478">aWidget</a>.</p>

<p>Перекрестные ссылки <a class="el" href="awidget_8cpp-source.html#l00187">aWidget::initObject()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f03780b70211a12db7ea1c1b8c66652"></a><!-- doxytag: member="wDBField::setOpenEditor" ref="5f03780b70211a12db7ea1c1b8c66652" args="(bool b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::setOpenEditor           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>fn</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Вызывает редактор свойств, если значение передаваемого параметра равно true. Редактор свойств предоставляет пользователю диалог задания значений свойств виджета. Например, для такого виджета как <a class="el" href="classwDBField.html" title="Универсальный Плагин -- виджет, предназначен...">wDBField</a> редактор свойств позволяет выбрать элемент метаданных описывающий поле базы данных, значение которого будет редактироваться с использованием виджета. То есть осуществить привязку данных (data bindings). <dl compact><dt><b>Аргументы:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fn</em>&nbsp;</td><td>- параметр, значение которого должно быть равно true, для того чтобы был вызван редактор свойств. </td></tr>
  </table>
</dl>

<p>Переопределяет метод предка <a class="el" href="classaWidget.html#a85c2847b84d09e14356b20bf06a0b98">aWidget</a>.</p>

</div>
</div><p>
<a class="anchor" name="b968eb3df904c7ac1684601889b78461"></a><!-- doxytag: member="wDBField::setFieldName" ref="b968eb3df904c7ac1684601889b78461" args="(QString n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::setFieldName           </td>
          <td>(</td>
          <td class="paramtype">QString&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Устанавливает значение свойства `fieldName'. 
</div>
</div><p>
<a class="anchor" name="2ea5542f78aa0749ebecb38cbc38e76b"></a><!-- doxytag: member="wDBField::getFields" ref="2ea5542f78aa0749ebecb38cbc38e76b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList wDBField::getFields           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Возвращает список полей, определенных в метаданных, для шапки документа или элемента и группы каталога. К имени уже забинденного поля добавляет впереди звездочку. Для групп и элементов каталога добавляет в конце (element) или (group) <dl class="return" compact><dt><b>Возвращает:</b></dt><dd>Список имен полей </dd></dl>

<p>Перекрестные ссылки <a class="el" href="acfg_8cpp-source.html#l00963">aCfg::attr()</a>, <a class="el" href="acfg_8cpp-source.html#l00485">aCfg::countChild()</a>, <a class="el" href="acfg_8cpp-source.html#l00669">aCfg::findChild()</a>, <a class="el" href="wdbfield_8cpp-source.html#l00388">getBindList()</a> и <a class="el" href="acfg_8cpp-source.html#l00937">aCfg::objClass()</a>.</p>

</div>
</div><p>
<a class="anchor" name="657eb10586751bf7895fd03dfb122cf1"></a><!-- doxytag: member="wDBField::init" ref="657eb10586751bf7895fd03dfb122cf1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::init           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Получение имени поля в метаданных, на которое настроен виджет. return - Имя поля в метаданных.<p>
Инициализирунт виджет. Получает метаданные из окна дизайнера. 
<p>Перекрестные ссылки <a class="el" href="acfg_8cpp-source.html#l00520">aCfg::find()</a>, <a class="el" href="awidget_8h-source.html#l00113">aWidget::getId()</a> и <a class="el" href="awidget_8cpp-source.html#l00416">aWidget::getMd()</a>.</p>

<p>Используется в <a class="el" href="wdbfield_8cpp-source.html#l00047">wDBField()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1999168184fc3fa9ccaa2649efc23da9"></a><!-- doxytag: member="wDBField::getBindList" ref="1999168184fc3fa9ccaa2649efc23da9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QValueList&lt; Q_ULLONG &gt; wDBField::getBindList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Получает список id забинденых полей. Корректно работает с удаленными виджетами. <dl class="return" compact><dt><b>Возвращает:</b></dt><dd>Список id забинденых полей. </dd></dl>

<p>Используется в <a class="el" href="wdbfield_8cpp-source.html#l00191">getFields()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f61741101ec75c4aaccce247dad03780"></a><!-- doxytag: member="wDBField::setEditorType" ref="f61741101ec75c4aaccce247dad03780" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::setEditorType           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Устанавливает тип виджета, используя свойство `Id'. 
<p>Перекрестные ссылки <a class="el" href="acfg_8cpp-source.html#l00963">aCfg::attr()</a>, <a class="el" href="acfg_8cpp-source.html#l00520">aCfg::find()</a>, <a class="el" href="acfg_8cpp-source.html#l00937">aCfg::objClass()</a>, <a class="el" href="wfield_8cpp-source.html#l00309">wField::setEditorType()</a> и <a class="el" href="wfield_8cpp-source.html#l00293">wField::setFieldType()</a>.</p>

</div>
</div><p>
<hr><h2>Полный список свойств</h2>
<a class="anchor" name="77a651556b81d730e0e575e0e58c6559"></a><!-- doxytag: member="wDBField::openEditor" ref="77a651556b81d730e0e575e0e58c6559" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wDBField::openEditor<code> [read, write]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Открывает окно диалога редактора свойств. 
<p>Переопределяет метод предка <a class="el" href="classaWidget.html">aWidget</a>.</p>

</div>
</div><p>
<hr>Объявления и описания членов классов находятся в файлах:<ul>
<li><a class="el" href="wdbfield_8h-source.html">wdbfield.h</a><li>wdbfield.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Документация по Ananas Library. Последние изменения: Sun Feb 1 21:47:15 2009. Создано системой&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
